//
// Created by user on 2022/1/18.
//
#include <vector>

using namespace std;

bool canPlaceFlowers(vector<int>& flowerbed, int n) {
    int m = flowerbed.size();

    // 种花什么时候结束， 遍历到最后或者n棵树种植完成
    int i= 0;
    while (i<m && n>0){
        //当前位置已经种植，那必须在i+2处种植
        if(flowerbed[i]==1){
            i+=2;
        }else if(i==m-1 ||flowerbed[i+1]==0){
            //当i处没有种植的时候， 看一下i+1是否有种植，或者i是否为最后一个
            i+=2;
            n--;
        } else{//flowerbed[i+1]==1的情况
            i+=3;
        }
    }
    return n<=0;

}
